package com.luoxiang.socialandroid.utils;

import android.content.Intent;

import com.luoxiang.lib_common.bean.ImCallbackDTO;
import com.luoxiang.socialandroid.bean.NumberBean;
import com.luoxiang.socialandroid.bean.SaveUserBeautyConfigDTO;

import java.util.ArrayList;
import java.util.List;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * @Description TODO
 * @systemUser Administrator
 * @Author LiangXin
 * @Date 08-19-2022 周五 10:37
 */
public interface ApiService {
    /**
     * 发送验证码
     *
     * @param phone
     * @param op
     * @return
     */
    @FormUrlEncoded
    @POST("base/sendCode")
    Observable<NumberBean> getsendCode(@Field("phone") String phone, @Field("op") String op, @Field("token") String token);

    @FormUrlEncoded
    @POST("host/getTypeHosts")
    Observable<NumberBean> getTypeHosts(@Field("token") String token, @Field("extra") String extra, @Field("type") String type, @Field("location") String location, @Field("page") int page, @Field("limit") String limit);

    @FormUrlEncoded
    @POST("host/getTypeHosts")
    Observable<NumberBean> getTypeHosts2(@Field("token") String token, @Field("extra") String extra, @Field("type") String type, @Field("page") int page, @Field("limit") String limit);

    @FormUrlEncoded
    @POST("host/getRandomOnlineHost")
    Observable<NumberBean> getRandomOnlineHost(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("host/getUserOperations")
    Observable<NumberBean> getUserOperations(@Field("token") String token, @Field("extra") String extra, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("user/getUserDynaimcs")
    Observable<NumberBean> getUserDynaimcs(@Field("token") String token, @Field("extra") String extra, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("user/getUserAccessLogs")
    Observable<NumberBean> getUserAccessLogs(@Field("token") String token, @Field("extra") String extra, @Field("type") String type, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("user/getInviteUser")
    Observable<NumberBean> getInviteUser(@Field("token") String token, @Field("extra") String extra, @Field("type") int type, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("user/getInviteAward")
    Observable<NumberBean> getInviteAward(@Field("token") String token, @Field("extra") String extra, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("user/getInviteUrl")
    Observable<NumberBean> getInviteUrl(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("host/sayHello")
    Observable<NumberBean> sayHello(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId);

    @FormUrlEncoded
    @POST("host/callUser")
    Observable<NumberBean> callUser(@Field("extra") String extra, @Field("token") String token, @Field("operationLogId") int operationLogId, @Field("contentId") int contentId);

    /**
     * 登录
     *
     * @param type
     * @param thirdId
     * @param code
     * @param extra
     * @return
     */
    @FormUrlEncoded
    @POST("login/login")
    Observable<NumberBean> getloginbycode(@Field("type") Integer type, @Field("thirdId") String thirdId, @Field("facebookUserId") String facebookUserId, @Field("faceboookToken") String faceboookToken, @Field("googleToken") String googleToken, @Field("code") String code, @Field("extra") String extra);

    /**
     * 注册
     *
     * @param extra
     * @param icon
     * @param thirdId
     * @param name
     * @param gender
     * @param birth
     * @return
     */
    @FormUrlEncoded
    @POST("login/register")
    Observable<NumberBean> getRegist(@Field("extra") String extra,
                                     @Field("icon") String icon,
                                     @Field("thirdId") String thirdId,
                                     @Field("name") String name,
                                     @Field("gender") String gender,
                                     @Field("birth") String birth,
                                     @Field("inviteCode") String inviteCode,
                                     @Field("channelCode") String channelCode);

    /**
     * 注册
     *
     * @param extra
     * @param name
     * @return
     */
    @FormUrlEncoded
    @POST("login/nameCheck")
    Observable<NumberBean> getnameCheck(@Field("extra") String extra, @Field("name") String name);

    /**
     * 随机生成用户名
     *
     * @param extra
     * @return
     */
    @FormUrlEncoded
    @POST("login/randomName")
    Observable<NumberBean> getrandomName(@Field("extra") String extra);

    /**
     * @param type
     * @param extra
     * @param accessToken
     * @return
     */
    @FormUrlEncoded
    @POST("login/login")
    Observable<NumberBean> getloginbykey(@Field("type") Integer type, @Field("extra") String extra, @Field("accessToken") String accessToken, @Field("yiToken") String yiToken);

    @POST("trait/addUserTrait")
    Observable<NumberBean> addUserTrait(@Query("token") String token, @Query("extra") String extra, @Body RequestBody traitbean);

    @POST("user/saveRealAuditInfo")
    Observable<NumberBean> saveRealAuditInfo(@Query("token") String token, @Query("extra") String extra, @Body RequestBody nameid);

    @FormUrlEncoded
    @POST("user/getRealAuditInfo")
    Observable<NumberBean> getRealAuditInfo(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("trait/datingModeList")
    Observable<NumberBean> getdatingModeList(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("trait/emotioRelationList")
    Observable<NumberBean> getemotioRelationList(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("trait/targetAgeList")
    Observable<NumberBean> gettargetAgeList(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("trait/labelList")
    Observable<NumberBean> getlabelList(@Field("token") String token, @Field("extra") String extra, @Field("gender") String gender);

    @FormUrlEncoded
    @POST("host/getBanners")
    Observable<NumberBean> getBanners(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("host/getTitleHosts")
    Observable<NumberBean> getTitleHosts(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/focus")
    Observable<NumberBean> focus(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId, @Field("type") int type);

    @FormUrlEncoded
    @POST("user/getUserFriends")
    Observable<NumberBean> getUserFriends(@Field("token") String token, @Field("extra") String extra, @Field("type") String type, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("host/getUserInfo")
    Observable<NumberBean> getUserInfo(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId);

    @FormUrlEncoded
    @POST("host/getUserDynamic")
    Observable<NumberBean> getUserDynamic(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId);

    @FormUrlEncoded
    @POST("user/getUserInfo")
    Observable<NumberBean> getMineUserInfo(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("host/getUserHome")
    Observable<NumberBean> getUserHome(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId);

    @FormUrlEncoded
    @POST("user/getUserInfo")
    Observable<NumberBean> getHomeUserInfo(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/setWxShow")
    Observable<NumberBean> setShowWeChat(@Field("token") String token, @Field("extra") String extra, @Field("wxShow") int wxShow);

    @FormUrlEncoded
    @POST("user/getUSSLib")
    Observable<NumberBean> getUSSLib(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/getProLib")
    Observable<NumberBean> getProLib(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/getAreaLib")
    Observable<NumberBean> getAreaLib(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/getEmLib")
    Observable<NumberBean> getEmLib(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/getLableLib")
    Observable<NumberBean> getLableLib(@Field("token") String token, @Field("extra") String extra, @Field("host") int host);

    @FormUrlEncoded
    @POST("user/saveAuditInfo")
    Observable<NumberBean> saveAuditInfo(@Field("token") String token,
                                         @Field("extra") String extra,
                                         @Field("type") int type,
                                         @Field("video") String video,
                                         @Field("potos") String potos,
                                         @Field("name") String name,
                                         @Field("phone") String phone,
                                         @Field("height") String height,
                                         @Field("weight") String weight,
                                         @Field("ussId") String ussId,
                                         @Field("cityCode") String cityCode,
                                         @Field("lables") String lables,
                                         @Field("persionSign") String persionSign,
                                         @Field("icon") String icon,
                                         @Field("birthday") String birthday,
                                         @Field("gender") String gender,
                                         @Field("proId") String proId,
                                         @Field("emId") String emId,
                                         @Field("persionVideo") String persionVideo,
                                         @Field("persionGif") String persionGif,
                                         @Field("wxNo") String weChat);

    /**
     * @param extra
     * @param token
     * @param type
     * @param page
     * @param limit 获取社区列表接口
     * @return
     */
    @FormUrlEncoded
    @POST("dynamic/getDynamics")
    Observable<NumberBean> getDynamics(@Field("extra") String extra, @Field("token") String token, @Field("type") Integer type,
                                       @Field("page") Integer page, @Field("limit") Integer limit, @Field("location") String location);


    @POST("base/getUploadToken")
    Observable<NumberBean> getUploadToken();

    @FormUrlEncoded
    @POST("dynamic/likeDynamic")
    Observable<NumberBean> getlikeDynamic(@Field("extra") String extra, @Field("token") String token, @Field("dynamicId") Integer id, @Field("like") Integer like);

    @FormUrlEncoded
    @POST("dynamic/publishDynamic")
    Observable<NumberBean> publishDynamic(@Field("extra") String extra, @Field("token") String token, @Field("type") int type, @Field("dynamic") String dynamic,
                                          @Field("chargeId") int chargeId, @Field("title") String title, @Field("location") String location, @Field("latitudeAndLongitude") String latitudeAndLongitude);

    @FormUrlEncoded
    @POST("user/focus")
    Observable<NumberBean> getfocus(@Field("extra") String extra, @Field("token") String token, @Field("toUserId") int toUserId, @Field("type") int type);

    @FormUrlEncoded
    @POST("user/whetherFocus")
    Observable<NumberBean> getwhetherFocus(@Field("extra") String extra, @Field("userId") int userId, @Field("token") String token);

    @FormUrlEncoded
    @POST("user/setDND")
    Observable<NumberBean> setDND(@Field("dnd") int dnd, @Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/setLocal")
    Observable<NumberBean> setLocal(@Field("local") int local, @Field("token") String token, @Field("extra") String extra);

    /**
     * 开启隐私模式
     *
     * @param extra
     * @param token
     * @param privacy
     * @return
     */
    @FormUrlEncoded
    @POST("user/setPrivacy")
    Observable<NumberBean> setPrivacy(@Field("extra") String extra, @Field("token") String token, @Field("privacy") int privacy);

    @FormUrlEncoded
    @POST("user/getBlackList")
    Observable<NumberBean> getBlackList(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("im/block")
    Observable<NumberBean> block(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int userId, @Field("block") int block);

    @FormUrlEncoded
    @POST("user/getCharge")
    Observable<NumberBean> getCharge(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("user/setCharge")
    Observable<NumberBean> setCharge(@Field("token") String token, @Field("extra") String extra, @Field("chargeId") String chargeId);

    @FormUrlEncoded
    @POST("base/getNewestVersion")
    Observable<NumberBean> getNewestVersion(@Field("token") String token, @Field("extra") String extra, @Field("type") String type);

    @FormUrlEncoded
    @POST("user/getUserBeautyConfig")
    Observable<NumberBean> getUserBeautyConfig(@Field("token") String token, @Field("extra") String extra, @Field("type") String type);


    @FormUrlEncoded
    @POST("vip/getVipPackages")
    Observable<NumberBean> getVipPackages(@Field("token") String token, @Field("extra") String extra, @Field("type") int type);

    @FormUrlEncoded
    @POST("host/selectFirstHostCallCentent")
    Observable<NumberBean> selectFirstHostCallCentent(@Field("token") String token, @Field("extra") String extra);

    @FormUrlEncoded
    @POST("host/getHostCallContents")
    Observable<NumberBean> getHostCallContents(@Field("token") String token, @Field("extra") String extra, @Field("status") int status);

    @FormUrlEncoded
    @POST("user/addCallContent")
    Observable<NumberBean> addCallContent(@Field("token") String token, @Field("extra") String extra, @Field("content") String content);

    @FormUrlEncoded
    @POST("user/topCallContent")
    Observable<NumberBean> topCallContent(@Field("token") String token, @Field("extra") String extra, @Field("contentId") int contentId);

    @FormUrlEncoded
    @POST("user/delCallContent")
    Observable<NumberBean> delCallContent(@Field("token") String token, @Field("extra") String extra, @Field("ids") String ids);

    @FormUrlEncoded
    @POST("user/editCallContent")
    Observable<NumberBean> editCallContent(@Field("token") String token, @Field("extra") String extra, @Field("content") String content, @Field("contentId") int contentId);

    @FormUrlEncoded
    @POST("user/getInviteInfo")
    Observable<NumberBean> getInviteInfo(@Field("token") String token, @Field("extra") String extra);

    /**
     * 搜索
     *
     * @param keyword
     * @param page
     * @param limit
     * @return
     */
    @FormUrlEncoded
    @POST("/host/search")
    Observable<NumberBean> getSerch(@Field("extra") String extra, @Field("token") String token, @Field("keyword") String keyword, @Field("page") int page, @Field("limit") int limit);

    /**
     * 获取拉黑状态
     */
    @FormUrlEncoded
    @POST("im/getBlock")
    Observable<NumberBean> getBlock(@Field("extra") String extra, @Field("token") String token, @Field("toUserId") int toUserId);

    /**
     * 拉黑/取消拉黑
     */
    @FormUrlEncoded
    @POST("im/block")
    Observable<NumberBean> getImblock(@Field("extra") String extra, @Field("token") String token, @Field("toUserId") int toUserId, @Field("block") int block);

    /**
     * 举报
     */
    @FormUrlEncoded
    @POST("im/complaint")
    Observable<NumberBean> getcomplaint(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") int toUserId, @Field("content") String content, @Field("images") String images, @Field("dynamicId") int dynamicId);

    /**
     * 获取礼物列表
     */
    @FormUrlEncoded
    @POST("im/getGifts")
    Observable<NumberBean> getGifts(@Field("extra") String extra, @Field("token") String token);

    /**
     * 发送消息给后台
     */
    @POST("im/imCallback")
    Observable<NumberBean> getImCallback(@Body ImCallbackDTO imCallbackDTO);

    /**
     * 获取用户是否可视频
     */
    @FormUrlEncoded
    @POST("im/preCall")
    Observable<NumberBean> getimPre(@Field("extra") String extra, @Field("toUserId") String toUserId, @Field("token") String token);

    /**
     * 我的钱包
     */
    @FormUrlEncoded
    @POST("wallet/getMyWallet")
    Observable<NumberBean> getMyWallet(@Field("extra") String extra, @Field("token") String token);

    /**
     * 金币充值列表
     */
    @FormUrlEncoded
    @POST("wallet/getRechargePackages")
    Observable<NumberBean> getRechargePackages(@Field("extra") String extra, @Field("token") String token, @Field("type") int type);

    /**
     * +
     * 微信支付
     */
    @FormUrlEncoded
    @POST("wallet/affirmRecharge")
    Observable<NumberBean> getaffirmRecharge(@Field("extra") String extra, @Field("token") String token, @Field("payWay") int payWay, @Field("packageId") int packageId);

    /**
     * +
     * 会员微信支付
     */
    @FormUrlEncoded
    @POST("vip/buyVip")
    Observable<NumberBean> buyVip(@Field("extra") String extra, @Field("token") String token, @Field("payWay") int payWay, @Field("vipId") int vipId);

    /**
     * 兑换金币接口
     */
    @FormUrlEncoded
    @POST("wallet/getExchangePackages")
    Observable<NumberBean> getExchangePackages(@Field("extra") String extra, @Field("token") String token);

    /**
     * 积分兑换接口
     */
    @FormUrlEncoded
    @POST("wallet/exchangePackage")
    Observable<NumberBean> getGoexchangePackage(@Field("extra") String extra, @Field("token") String token, @Field("packageId") int packageId);

    /**
     * 充值记录接口
     */
    @FormUrlEncoded
    @POST("wallet/getRechargeLog")
    Observable<NumberBean> getRechargeLog(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 消费记录接口
     */
    @FormUrlEncoded
    @POST("wallet/getConsumeLog")
    Observable<NumberBean> getConsumeLog(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 积分兑换列表
     */
    @FormUrlEncoded
    @POST("wallet/getExchangeLog")
    Observable<NumberBean> getExchangeLog(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 积分明细列表
     */
    @FormUrlEncoded
    @POST("wallet/getCreditLog")
    Observable<NumberBean> getCreditLog(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 赠送礼物
     */
    @FormUrlEncoded
    @POST("im/giveGift")
    Observable<NumberBean> getgiveGift(@Field("token") String token, @Field("extra") String extra, @Field("toUserId") String toUserId, @Field("type") int type, @Field("giftId") int giftId, @Field("relationId") String relationId, @Field("num") int num);

    /**
     * 开始通话
     */
    @FormUrlEncoded
    @POST("im/inCall")
    Observable<NumberBean> getinCall(@Field("extra") String extra, @Field("channelId") String channelId, @Field("toUserId") String toUserId, @Field("channelName") String channelName, @Field("token") String token);

    /**
     * 通话结束
     */
    @FormUrlEncoded
    @POST("im/stopCall")
    Observable<NumberBean> getstopCall(@Field("extra") String extra, @Field("channelId") String channelId, @Field("channelName") String channelName, @Field("token") String token);

    /**
     * 积分提现列表
     */
    @FormUrlEncoded
    @POST("wallet/getWithdrawPackages")
    Observable<NumberBean> getWithdrawPackages(@Field("extra") String extra, @Field("token") String token);

    /**
     * 支付宝提现
     */
    @FormUrlEncoded
    @POST("wallet/withdrawPackage")
    Observable<NumberBean> withdrawPackage(@Field("extra") String extra, @Field("token") String token, @Field("packageId") int packageId, @Field("way") int way);

    /***
     * 获取推送消息列表（官方消息）
     */
    @FormUrlEncoded
    @POST("push/getPushMessage")
    Observable<NumberBean> officialMessage(@Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 查询实名认证是否成功
     */
    @POST("user/getRealResult")
    Observable<NumberBean> getRealResult(@Query("token") String token, @Query("extra") String extra, @Body RequestBody requestBody, @Query("certifyId") String certifyId);

    /**
     * 保存美颜参数
     */
    @POST("user/saveUserBeautyConfig")
    Observable<NumberBean> saveUserBeautyConfig(@Query("token") String token, @Body SaveUserBeautyConfigDTO saveUserBeautyConfigDTO);

    /***
     * 获取美颜参数*/
    @FormUrlEncoded
    @POST("user/getUserBeautyConfig")
    Observable<NumberBean> getUserBeautyConfig(@Field("token") String token, @Field("type") Integer type);

    /**
     * 获取认证信息
     */
    @FormUrlEncoded
    @POST("user/getAuditInfo")
    Observable<NumberBean> getAuditInfo(@Field("extra") String extra, @Field("token") String token);

    /**
     * 绑定支付宝账号
     */
    @FormUrlEncoded
    @POST("user/bindingWay")
    Observable<NumberBean> getbindingWay(@Field("token") String token, @Field("extra") String extra, @Field("type") String type, @Field("payNo") String payNo, @Field("payName") String payName);

    /**
     * 提现记录列表
     */
    @FormUrlEncoded
    @POST("wallet/getWithdrawLog")
    Observable<NumberBean> getWithdrawLog(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    /**
     * 获取我的新的信息
     */
    @FormUrlEncoded
    @POST("user/getUserSimpleInfo")
    Observable<NumberBean> getUserSimpleInfo(@Field("extra") String extra, @Field("token") String token);

    /**
     * 删除动态
     */
    @FormUrlEncoded
    @POST("dynamic/delDynamic")
    Observable<NumberBean> getdelDynamic(@Field("extra") String extra, @Field("token") String token, @Field("dynamicId") int dynamicId);

    /**
     * 换绑手机号
     */
    @FormUrlEncoded
    @POST("login/inTiePhone")
    Observable<NumberBean> getinTiePhone(@Field("extra") String extra, @Field("token") String token, @Field("code") String code, @Field("phone") String phone);

    /***
     * 获取通话评价*/
    @FormUrlEncoded
    @POST("im/getEvaluationInfo")
    Observable<NumberBean> getEvaluationInfo(@Field("token") String token, @Field("channelId") String channelId);

    /**
     * 通话评价
     */
    @FormUrlEncoded
    @POST("im/callEvaluate")
    Observable<NumberBean> callEvaluate(@Field("token") String token, @Field("channelId") String channelId, @Field("type") int type, @Field("labelIds") String labelIds);

    /**
     * 查看用户是否实名
     */
    @FormUrlEncoded
    @POST("user/getNewAuditInfo")
    Observable<NumberBean> getNewAuditInfo(@Field("extra") String extra, @Field("token") String token);

    /**
     * 用户注销
     */
    @FormUrlEncoded
    @POST("login/logoff")
    Observable<NumberBean> getlogoff(@Field("extra") String extra, @Field("token") String token);

    /**
     * 退出登录
     */
    @FormUrlEncoded
    @POST("login/logout")
    Observable<NumberBean> getlogout(@Field("extra") String extra, @Field("token") String token);

    @FormUrlEncoded
    @POST("host/onlineMatchingList")
    Observable<com.luoxiang.lib_common.bean.NumberBean> getonlineMatchingList(@Field("extra") String extra, @Field("token") String token, @Field("limit") int limit);

    /**
     * 获取用户招呼语列表
     */
    @FormUrlEncoded
    @POST("host/selectUserCallCentent")
    Observable<NumberBean> getselectUserCallCentent(@Field("extra") String extra, @Field("token") String token);

    /**
     * 批量打招呼
     */
    @FormUrlEncoded
    @POST("host/sayHelloBatch")
    Observable<NumberBean> getsayHelloBatch(@Field("extra") String extra, @Field("token") String token, @Field("toUserIds") ArrayList<Integer> toUserIds, @Field("contentId") int contentId);

    @FormUrlEncoded
    @POST("host/saveGuildAudit")
    Observable<NumberBean> saveGuildAudit(@Field("extra") String extra, @Field("token") String token, @Field("applicantName") String applicantName, @Field("contact") String contact, @Field("channelName") String channelName, @Field("hostNum") int hostNum);

    @FormUrlEncoded
    @POST("user/getReportList")
    Observable<NumberBean> getReportList(@Field("extra") String extra, @Field("token") String token, @Field("page") int page, @Field("limit") int limit);

    @FormUrlEncoded
    @POST("host/sayHelloAccost")
    Observable<NumberBean> sayHelloAccost(@Field("extra") String extra, @Field("token") String token, @Field("contentId") String contentId);

    @FormUrlEncoded
    @POST("user/topRecommend")
    Observable<NumberBean> topRecommend(@Field("extra") String extra, @Field("token") String token);

    @FormUrlEncoded
    @POST("host/unlockWechat")
    Observable<NumberBean> unlockWechat(@Field("extra") String extra, @Field("token") String token, @Field("toUserId") int userid);


    /**
     * 获取国际区号
     */
    @GET("base/countryMobilePrefixList")
    Observable<NumberBean> getCountryMobilePrefixList(@Query("extra") String extra);
}
